﻿Imports Microsoft.Office.Interop
Imports Logica
Public Class ConfiguracionGeneral

    ''' <summary>
    ''' Realiza la busqueda de la dirección
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBuscar.Click
        Dim ofd As New OpenFileDialog
        Dim path As String

        ofd.Filter = "Documento de Word (*.doc, *.docx)|*.doc;*.docx"
        ofd.Multiselect = False
        ofd.ShowDialog()
        path = ofd.FileName

        txtManualPuesto.Text = path
    End Sub

    ''' <summary>
    ''' Carga el manual de puesto
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnCargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCargar.Click
        Dim wordApp As New Word.Application
        Dim wordDoc As Word.Document
        Dim ManualPuesto As String = ""

        If Not txtManualPuesto.Text = "" Then
            ' Obtiene el documento del directorio seleccionado.
            wordDoc = wordApp.Documents.Open(txtManualPuesto.Text)

            ' Obtiene el XML del documento.
            ManualPuesto = wordDoc.Content.XML
            wordDoc.Close() ' Se cierra el documento para terminar el proceso.

            Try
                Gestor.cargarManualPuesto(ManualPuesto)
                lblError.Visible = True
                lblError.ForeColor = Color.Green
                lblError.Text = "Manual de puesto cargado con éxito"
            Catch ex As Exception
                lblError.Visible = True
                lblError.ForeColor = Color.Red
                lblError.Text = "Error al cargar el manual de puesto"
            End Try

        Else
            lblError.Visible = True
            lblError.ForeColor = Color.Red
            lblError.Text = "El campo 'dirección del manual de puesto' está vacío."
        End If

    End Sub

    ''' <summary>
    ''' Descarga el manual de puesto
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnDescargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDescargar.Click
        Dim manualPuesto As Word.Document
        Dim sf As New SaveFileDialog

        Try
            manualPuesto = Gestor.descargarManualPuesto()

            sf.FileName = "Manual de puesto" & ".docx"
            sf.Filter = ("Documento de Word (*.doc, *.docx)|*.doc;*.docx")

            If sf.ShowDialog() = DialogResult.OK Then
                manualPuesto.SaveAs(sf.FileName)

                lblError.Visible = True
                lblError.ForeColor = Color.Green
                lblError.Text = "Manual descargado con éxito."

            End If

            manualPuesto.Close()
        Catch ex As Exception
            lblError.Visible = True
            lblError.ForeColor = Color.Red
            lblError.Text = "Error al descargar el manual de puesto."
        End Try
    End Sub

    ''' <summary>
    ''' Genera el documento XML
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnGenerarXML_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerarXML.Click
        Try

            Dim sf As New SaveFileDialog
            Dim path As String
            sf.FileName = "DocumentoXML.xml"
            sf.Filter = ("Documento XML (*.xml)|*.xml")

            If sf.ShowDialog() = DialogResult.OK Then

                path = sf.FileName
                Gestor.generarArchivoXML(path)

                lblError.Visible = True
                lblError.ForeColor = Color.Green
                lblError.Text = "El archivo XML se creó con éxito."

            End If


        Catch ex As Exception
            lblError.Visible = True
            lblError.ForeColor = Color.Red
            lblError.Text = "Hubo problemas al generar el archivo XML, favor contactar a un técnico."
        End Try
    End Sub

    ''' <summary>
    ''' Realiza el aumento salarial
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnAumento_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAumento.Click
        Dim aumentoSalarial As Integer
        If Not txtAumento.Text = "" Or txtAumento.Text.Trim = "" Then
            Try
                aumentoSalarial = txtAumento.Text

                If aumentoSalarial > 0 And aumentoSalarial < 101 Then
                    If Not txtAumento.Text.Contains(",") And Not txtAumento.Text.Contains(".") Then

                        Gestor.aumentoSalarial(txtAumento.Text)
                        lblError.Visible = True
                        lblError.ForeColor = Color.Green
                        lblError.Text = "El aumento salarial se realizo con éxito. "

                    Else
                        lblError.Visible = True
                        lblError.ForeColor = Color.Red
                        lblError.Text = "El porcentaje de aumento no puede contener 'punto' ó 'coma' "
                    End If

                Else
                    lblError.Visible = True
                    lblError.ForeColor = Color.Red
                    lblError.Text = "Solo puede ingresar valores entre 1 y 100"
                End If
            Catch ex As Exception
                lblError.Visible = True
                lblError.ForeColor = Color.Red
                lblError.Text = "Solo puede ingresar números"
            End Try
        Else
            lblError.Visible = True
            lblError.ForeColor = Color.Red
            lblError.Text = "El campo 'porcentaje de aumento' está vacío."
        End If
    End Sub

    ''' <summary>
    ''' Muestra la pantalla aplicar planilla
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub btnAplicarPlanilla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAplicarPlanilla.Click
        AplicarPlanilla.ShowDialog()
    End Sub

    ''' <summary>
    ''' Carga la pantalla configuracion general
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 21/06/2010, Modificado: 21/06/2010.</remarks>
    Private Sub ConfiguracionGeneral_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        txtAumento.Text = ""
        txtManualPuesto.Text = ""
    End Sub

    ''' <summary>
    ''' Realiza el pago de salarios en el sistema
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks>Creador por: Stephan Endres, Fecha: 20/06/2010, Modificado: 28/06/2010.</remarks>
    Private Sub btnRealizarPago_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRealizarPago.Click
        Try
            If Gestor.validarUltimoSalario = False Then

                BusquedaUsuariosSalarioVariables.ShowDialog()
                lblError.Visible = True
                lblError.ForeColor = Color.Green
                lblError.Text = "Se realizó el pago con éxito."

            Else

                lblError.Visible = True
                lblError.ForeColor = Color.Red
                lblError.Text = "Ya se realizó el pago de este mes."

            End If
        Catch ex As NullReferenceException

            BusquedaUsuariosSalarioVariables.ShowDialog()
            lblError.Visible = True
            lblError.ForeColor = Color.Green
            lblError.Text = "Se realizó el pago con éxito."

        Catch ex As Exception
            lblError.Visible = True
            lblError.ForeColor = Color.Red
            lblError.Text = "No se pudo realizar el pago."
        End Try
    End Sub
End Class
